"""
邢不行™️ 策略分享会
仓位管理框架

版权所有 ©️ 邢不行
微信: xbx6660

本代码仅供个人学习使用，未经授权不得复制、修改或用于商业用途。

Author: 邢不行
"""
import os
import numpy as np
import pandas as pd


def signal(*args):
    df = args[0]
    n = args[1]
    factor_name = args[2]
    '''
    因子值越大，说明平均每单位成交额造成的价格移动就越大
    '''
    df['px_abs'] = (df['close'] - df['open']).abs()
    df['pct_abs'] = df['px_abs'] / df['open']
    df['factor'] = df['pct_abs'] / df['quote_volume']
    df[factor_name] = df['factor'].rolling(n, min_periods=1).mean()

    return df

